package org.shj.book2.chapter12;

import org.shj.book2.chapter12.active.ActiveObject;
import org.shj.book2.chapter12.active.ActiveObjectFactory;

/**
 * Active Object Pattern. 
 * Active 包里的所有对像组成一个“主动对像”。这个主动对像具有如下特征：
 * 1. 具有接口 -- ActiveObject里定义
 * 2. 可以获取异步消息-- Proxy将方法调用转换成MethodRequest，存放在ActivationQueue里
 * 3. 与client 拥有不同的线程
 * 4. 可以提供处理 -- Servant 可以单线程处理
 * 5. 可以返回返回值 -- FutureResult
 * 
 * @author huangjian
 *
 */
public class Main {

	public static void main(String[] args){
		ActiveObject activeObj = ActiveObjectFactory.createActiveObject();
		new MakerClientThread("Alice", activeObj).start();
		new MakerClientThread("Bobby", activeObj).start();
		new DisplayClientThread("Chris", activeObj).start();
	}
}
